Algorithm INTRO.
<자료구조와 알고리즘간의 관계>
자료구조의 본질은 자료를 담는 공간이다.
어떻게 담느냐에 따라, 자료의 활용 효율이 달라진다.알고리즘의 본질은 문제를 해결하는 방법이다.
문제의 해법에는 여러가지가 있을 수 있고, 각각의 방법들은 효율면에서 다를 수 있다.
알고리즘
알고리즘이란 무엇인가?
어떤 문제를 해결하기 위한 절차들의 집합을 알고리즘이라 한다.
문제를 해결할 수 있는 방법이 여러가지인 경우, 성능을 고려하여 적절히 선택한다.
분류
알고리즘을 분류하는 방법은 여러가지이고, 각각 장점이 있다.
By Implementation
One way to classify alogrithms is by implementation means.
- Recursion
- Serial, parallel or distributed
- Deterministic or non-deterministic
- Exact or approximate
- Quantum algorithm
By Design Paradigm
Another way to classify alogrithms is by design paradigm.
- Brute-force or exhaustive search
- Divide and conquer
- Search and enumeration
- 그리디
- 동적계획
- Randomized algorithm
- Reduction of complexity
- Back tracking
Optimization Problems
- Linear Programming
- Dynamic Programming
- Greedy Method
- Heuristic Method
- 순차탐색
- 이진탐색
- 버블소트
- 삽입소트
- 선택소트
- 힙소트
- 라딕스소트
그리디
분할정복
동적계획
암호 알고리즘
백트래킹
분야별 정리
Encryption Algorithm.
Topology Algorithm.
Basic Combinatorics
Machine Learning Algorithm.
Probabilistic Algorithm.